import unittest
from page.xitongbushu.xt_grzl_xg_page import PersonDataPage
from cases.base_case import BaseCase
from page.index_page import IndexPage
from time import sleep
from tools.sjqd_way import read_data_from_excel
from config.config import DATA_PATH
import os

class TestPersonData(BaseCase):
# 1
    def test_grzl_into(self):
# 执行操作
# 点击头像
        gr = IndexPage(self.driver)
        gr.click_geren_btn()
# 进入个人资料
        xg = PersonDataPage(self.driver)
        xg.grzl_into()
        sleep(2)
# 断言进入成功
        url = 'http://192.168.1.25/crm/index.php?m=user&a=edit'
        self.assertEqual(url,xg.get_current_url())


        # 第2条用例
    def test_grzl_quxiao(self):
        # 执行操作
        # 点击头像
        gr = IndexPage(self.driver)
        gr.click_geren_btn()
        # 进入个人资料
        xg = PersonDataPage(self.driver)
        xg.grzl_into()
        sleep(3)
        # 点击取消
        xg.grzl_quxiao()
        sleep(3)
        # 断言取消成功
        url = 'http://192.168.1.25/crm/index.php'
        dy_url = xg.get_current_url()
        self.assertIn(url,dy_url)


        # 第3条用例
    def test_grzl_bitian(self):
        # 引入数据文件
        datas = read_data_from_excel(os.path.join(DATA_PATH, 'datas.xls'), '修改资料')
        name, mima , youxiang ,shouji ,dizhi= datas[0]
        shouji=int(shouji)
        # 执行操作
        # 点击头像
        gr = IndexPage(self.driver)
        gr.click_geren_btn()
        # 进入个人资料
        xg = PersonDataPage(self.driver)
        xg.grzl_into()
        sleep(1)
        # 选择岗位与部门
        xg.grzl_xiugai_bm()
        xg.grzl_xiugai_gw()
        # 输入手机号与邮箱
        xg.grzl_xiugai_sj(shouji)
        xg.grzl_xiugai_yx(youxiang)
        # 点击保存
        xg.grzl_baocun()
        sleep(3)
        # 断言
        text = '员工信息修改成功！'
        self.assertIn(text,xg.get_text())


 # 第4条用例
    def test_grzl_youxiangcuowo(self):
        # 引入数据文件
        datas = read_data_from_excel(os.path.join(DATA_PATH, 'datas.xls'), '修改资料')
        name, mima , youxiang ,shouji ,dizhi= datas[1]
        shouji = int(shouji)
        # 执行操作
        # 点击头像
        gr = IndexPage(self.driver)
        gr.click_geren_btn()
        # 进入个人资料
        xg = PersonDataPage(self.driver)
        xg.grzl_into()
        sleep(1)
        # 选择岗位与部门
        xg.grzl_xiugai_bm()
        xg.grzl_xiugai_gw()
        # 输入手机号与邮箱
        xg.grzl_xiugai_sj(shouji)
        xg.grzl_xiugai_yx(youxiang)
        # 点击保存
        xg.grzl_baocun()
        sleep(3)
        # 断言
        text = '邮箱格式不对！'
        self.assertEqual(text,xg.get_tanchaung_text())

  # 第16条用例
    def test_grzl_shoujicuowu(self):
        # 引入数据文件
        datas = read_data_from_excel(os.path.join(DATA_PATH, 'datas.xls'), '修改资料')
        name, mima, youxiang, shouji, dizhi = datas[2]
        shouji = int(shouji)
        # 执行操作
        # 点击头像
        gr = IndexPage(self.driver)
        gr.click_geren_btn()
        # 进入个人资料
        xg = PersonDataPage(self.driver)
        xg.grzl_into()
        sleep(1)
        # 选择岗位与部门
        xg.grzl_xiugai_bm()
        xg.grzl_xiugai_gw()
        # 输入手机号与邮箱
        xg.grzl_xiugai_sj(shouji)
        xg.grzl_xiugai_yx(youxiang)
        # 点击保存
        xg.grzl_baocun()
        sleep(3)
        # 断言
        text = '手机号码格式不对'
        self.assertIn(text,xg.get_tanchaung_text())

# 第17条用例
    def test_grzl_quanbuxinxi(self):
        datas = read_data_from_excel(os.path.join(DATA_PATH, 'datas.xls'), '修改资料')
        name, mima, youxiang, shouji, dizhi = datas[3]
        shouji = int(shouji)
        mima = int(mima)
        # 执行操作
        # 点击头像
        gr = IndexPage(self.driver)
        gr.click_geren_btn()
        # 进入个人资料
        xg = PersonDataPage(self.driver)
        xg.grzl_into()
        sleep(1)
        # 选择岗位与部门
        xg.grzl_xiugai_bm()
        xg.grzl_xiugai_gw()
        # 输入手机号与邮箱
        xg.grzl_xiugai_sj(shouji)
        xg.grzl_xiugai_yx(youxiang)
        # 输入非必填
        xg.grzl_xiugai_yhm(name)
        xg.grzl_xiugai_mm(mima)
        sleep(2)
        xg.grzl_xiugai_dz(dizhi)
        xg.grzl_xiugai_xb()
        # 点击保存
        xg.grzl_baocun()
        sleep(3)
        # 断言
        text = '员工信息修改成功！'
        self.assertIn(text, xg.get_text())

if __name__ == '__main__':
    unittest.main()